Networks such as the Internet are used more everyday as a way of communicating and doing business. Users use client devices such as computers, laptops, mobile terminals, personal digital assistants, hand held devices, and similar devices to access the Internet and communicate with others and conduct business. Most of these client devices, which communicate via the Internet, run software that includes graphical user interfaces which allow the user to make selections and navigate through the Internet. Most of these graphical user interfaces run browser programs that allow the user to connect to websites housed on servers and to navigate those websites. When a user logs on to a website using a client device, the user browses or navigates through that website by sending requests to the website asking for certain information to be retrieved. For example, if a user logs on to a website selling goods, the user may request the website to provide details about digital cameras costing between $100 and $300. Completing these requests takes time because the user's computer first has to send the request through a network (internet) to the server, the server has to then search its database, retrieve the requested information and send the requested information back to the user's computer via the network (internet) again. There is further overhead in the amount of time that is spent because the data, which is in text format, is processed by the browser both when the data is sent and when the data is received.
This process of requesting and retrieving information from a website has been made more efficient over time by minimizing the amount of time that the user using a client device spends communicating with the server. For example, Java screen and javascripts with Ajax have been used to minimize the amount of time that is spent communicating between the client device and the server by fetching data before the data is actually needed. However, these techniques also have problems associated with them because a significant amount of time and resources are spent processing and interpreting data that has been pre-fetched but that may never be needed.
Some websites, such as merchant websites that offer many items for sale, can include large volumes of searchable data. Browsing these websites can be time consuming because the user is frequently searching for different items with different features. Every time a new search is desired, the user must either communicate with the server requesting information or must wait for the user's computer to process large amounts of data that may not be on point for the search conducted. These potential long waiting times for receiving requested information can be frustrating to a user, especially when the user is frequently modifying the search parameters, which can result in lost sales and less repeat business.